/*
 * @lc app=leetcode.cn id=1 lang=javascript
 *
 * [1] 两数之和
 */

// @lc code=start
/**
 * @param {number[]} nums
 * @param {number} target
 * @return {number[]}
 */
var twoSum = function(nums, target) {
    if(!nums) return [];
    const map = new Map();
    //创建map
    for (let i = 0; i< nums.length; i++) {
        const n = nums[i];
        const n2 = target - nums[i];
        //获取当前匹配的数值
        if(map.has(n2)) {
            return [map.get(n2),i];
            //如果字典中存在该数值则返回目标值下标和当前值下标
        }
        map.set(n, i);
        // 不在字典中，则放入字典，key为数值，value为下标
    }
};
// @lc code=end

